1. Field of the Invention
The present invention relates to generating and executing voice enabled web applications within a hypertext markup language (HTML) and hypertext transport protocol (HTTP) framework.
2. Description of the Related Art
The evolution of the public switched telephone network has resulted in a variety of voice applications and services that can be provided to individual subscribers and business subscribers. Such services include voice messaging systems that enable landline or wireless subscribers to record, playback, and forward voice mail messages. However, the ability to provide enhanced services to subscribers of the public switched telephone network is directly affected by the limitations of the public switched telephone network. In particular, the public switched telephone network operates according to a protocol that is specifically designed for the transport of voice signals; hence any modifications necessary to provide enhanced services can only be done by switch vendors that have sufficient know-how of the existing public switched telephone network infrastructure.
An open standards-based Internet protocol (IP) network, such as the World Wide Web, the Internet, or a corporate intranet, provides client-server type application services for clients by enabling the clients to request application services from remote servers using standardized protocols, for example hypertext transport protocol (HTTP). The web server application environment can include web server software, such as Apache, implemented on a computer system attached to the IP network. Web-based applications are composed of HTML pages, logic, and database functions. In addition, the web server may provide logging and monitoring capabilities.
In contrast to the public switched telephone network, the open standards-based IP network has enabled the proliferation of web-based applications written by web application developers using ever-increasing availability of web development tools. Hence, the ever-increasing popularity of web applications and web development tools provides substantial resources for application developers to develop robust web applications in a relatively short time and an economical manner. However, one important distinction between telephony-based applications and web-based applications is that telephony-based applications are state-aware, whereas web-based applications are stateless.
In particular, telephony applications are state-aware to ensure that prescribed operations between the telephony application servers and the user telephony devices occur in a prescribed sequence. For example, operations such as call processing operations, voicemail operations, call forwarding, etc., require that specific actions occur in a specific sequence to enable the multiple components of the public switched telephone network to complete the prescribed operations.
The web-based applications running in the IP network, however, are state-less and transient in nature, and do not maintain application state because application state requires an interactive communication between the browser and back-end database servers accessed by the browsers via a HTTP-based web server. However, an HTTP server provides asynchronous execution of HTML applications, where the web applications in response to reception of a specific request in the form of a URL from a client, instantiate a program configured for execution of the specific request, send an HTML web page back to the client, and terminate the program instance that executed the specific zo request. Storage of application state information in the form of a xe2x80x9ccookiexe2x80x9d is not practical because some users prefer not to enable cookies on their browser, and because the passing of a large amount of state information as would normally be required for voice-type applications between the browser and the web application would substantially reduce the bandwidth available for the client.
Commonly-assigned, copending application Ser. No. 09/559,637, filed Apr. 28, 2000, entitled Browser-Based Arrangement For Developing Voice Enabled Web Applications Using Extensible Markup Language Documents, the disclosure of which is incorporated in its entirety herein by reference, discloses an application server that executes a voice application defined by extensible markup language (XML) documents and dynamically generates an HTML form specifying selected application parameters from an XML document executable by the voice application. The HTML form is supplied to a browser, enabling a user of the browser to input or modify application parameters for the corresponding XML document into the form. The application server, upon receiving the form from the web browser, inserts the input application parameters into the XML document, and stores the application document for execution. Since voice applications are executed by the application server based on runtime parsing of the XML document, a user can concurrently use the HTML form to create or modify an XML document, post the HTML to the application server, and then execute the XML document to validate the inputs supplied to the HTML form. Thus, a user can easily generate XML documents and verify the corresponding voice application operation using a forms-based application development methodology.
Hence, web programmers can write voice-enabled web applications, using the teachings of the above-incorporated application Ser. No. 09/559,637, by writing XML pages that specify respective voice application operations to be performed. The XML documents have a distinct feature of having tags that allow a web browser (or other software) to identify information as being a specific kind or type of information. Hence, the XML documents define the application to be executed by the application server within the runtime environment, enabling voice enabled web applications to be generated and executed without the necessity of programming language environments.
The use of forms has been a significant contribution to the utility of HTML for the World Wide Web. Anyone can go to a web site and fill out a form to purchase, take a survey, request information, schedule an appointment, and so on. The forms are then posted to a common gateway interface (CGI) which interprets the organized information and stores it accordingly. In the business world, such forms can eliminate the drudgery of paperwork. In many cases, these forms are processed automatically. However, some forms such as vacation requests, cell phone or pager purchase request, purchase orders, capital expense requests, etc., require human approval.
A conventional way of simplifying the request approval is to e-mail the approving party a URL that specifies a CGI request for retrieval of a submitted form. The retrieved form is then presented by the web server enabling the approving party to click on the retrieved form to accept or deny the request. The updated form is then posted to the web server for storage. This method, however, is practical only when the approving party has access to a web browser and an e-mail client on a personal computer.
There is a need for an arrangement that enables users to deploy a scalable, open standards based form approval system on an open standards based network such as an Internet Protocol (IP) network by using a telephone.
This and other needs are attained by the present invention, where an application server, configured for executing a messaging application, includes an application runtime environment configured for dynamically generating a hypertext markup language (HTML) document to present to a subscriber a text-based formn, identified in a stored message from a second party, in audible format with audible prompts, by converting the text based form into audible format and providing the prompts. The application run time environment is configured to update the text-based form based on an input from the subscriber.
Another aspect of the present invention provides a method in an application server for executing a messaging application. The method includes receiving an HTTP request for execution of a prescribed messaging application operation for a subscriber. A stored message for the subscriber from a second party is accessed from an IP-based messaging server. The stored message identifies a text-based formn. The application server converts the text-based form into an audible format. The application server generates an HTML document to present to the subscriber the form in audible format with audible prompts, based on the HTTP request and the text based message. The application server then updates the text-based form based on an input from the subscriber.
Thus, by use of the application server, a subscriber or approving party can receive a text-based form, identified by a second party, converted to audio format and take action with regard the form contents by use of a telephone or a computer having a web browser.
Additional advantages and novel features of the invention will be set forth in part in the description which follows and in part will become apparent to those skilled in the art upon examination of the following or may be learned by practice of the invention. The advantages of the present invention may be realized and attained by means of instrumentalities and combinations particularly pointed out in the appended claims.